System for controlling an engine and method therefor

ABSTRACT

A system and method for controlling an engine, in which a value correlative to an engine output is detected, a target value of the engine output correlative value is calculated on the basis of an angular displacement of an accelerator pedal and engine speed, the detected value correlative to the engine output is compared with the target value, an opening angle of a throttle valve located within a throttle chamber of the engine for adjusting an intake air quantity supplied to the engine according to its opening angle is calculated on the basis of the comparison result, and the throttle valve is actuated to adjust the intake air quantity according to the calculated opening angle so that the detected value correlative to the engine output coincides with the target value.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to a system and method for controlling an engine wherein a value correlative to an output generated from the engine is detected and an engine throttle valve, an opening angle of which determines an intake air quantity, is actuated so that the detected value reaches a target value, wherein in addition to the actuation of the throttle valve to control intake air quantity an air-fuel mixture ratio is controlled so that the engine output reaches near a limit value in a stable region previously set, and wherein in addition to the actuation of the throttle valve to control intake air quantity an ignition timing is so controlled that the engine output reaches maximum.

2. Description of the Prior Art

In a conventional gasoline engine, an accelerator pedal is mechanically linked with a throttle valve installed within an engine intake manifold. An angular position of the accelerator pedal (when an operator depresses the pedal) determines an opening angle of the throttle valve, i.e., an intake air quantity supplied to the engine so that the engine output is directly controlled.

In details, in a conventional electronically controlled engine, an optimum quantity of fuel injected into the engine is previously set according to the intake air quantity thus determined, an engine speed, various engine operating parameters such as engine cooling temperature. A plurality of fuel injection valves each located within a corresponding intake port of the corresponding engine cylinder which is located downstream of the throttle valve inject fuel a quantity of which is determined by the optimum quantity of fuel previously set, so that a mixture of fuel with intake air is formed and supplied to the engine body, thus the engine operation being controlled.

Since in such conventional engine control systems the quantity of fuel supplied to the engine is controlled on the basis of the actual quantity of intake air determined according to the opening angle of the throttle valve, i.e., the angular position of the accelerator pedal, the engine output is varied even though the same throttle valve opening angle depending on the difference of an environment under which the engine is placed (, e.g., atmospheric pressure and surrounding air temperature of the engine).

For example, when the above-described engine is placed at a high ground, i.e., under a low atmospheric pressure, a substantive intake air quantity is reduced so that the quantity of fuel injected into the engine is accordingly reduced, thus the engine output being reduced, even though the opening angle of the throttle valve is the same as that when the engine is placed at a low ground, i.e., under a normal atmospheric pressure.

Therefore, it is necessary to depress the accelerator pedal through an angle greater than that when the engine is placed at the low ground in order to achieve the same engine output as that when the engine is placed at the low round. In this way, an engine driveability will be lowered.

In the similar way, the variation in the engine output is caused by aging effect even though the opening angle of the throttle valve is the same so that the engine driveability will be lowered.

Furthermore, since a deviation of the engine output from a target value means that the engine output is deviated from a stable region in which the engine carries out a stable operation, the engine cannot provide a sufficient engine output and it results in a wasteful consumption of fuel when the engine output is out of the stable region.

SUMMARY OF THE INVENTION

With the above-described problems in mind, it is an object of the present invention to provide an engine control system and method, wherein a value correlative to the engine output is detected and an opening angle of the throttle valve is controlled so that the detected value matches with a target value determined on the basis of the angular position of the accelerator pedal and engine speed, thus ensuring a stable driveability irrespectively of influences of a difference in an environment under which the engine is placed and aging effect.

In addition, it is another object of the present invention to provide the engine control system, in which the opening angle of the throttle valve is controlled so that the detected value corelative to the engine output matches with a target value determined on the basis of the angular position of the accelerator pedal and engine speed and an air-fuel mixture is controlled so that the engine output falls in the vicinity of a limit value within a stable region of engine operation, thus ensuring a stable driveability and a favorable air-fuel mixture ratio.

Furthermore, it is still another object of the present invention to provide the engine control system, in which the opening angle of the throttle valve is controlled so that the detected value corelative to the engine output matches with a target value determined on the basis of the angular position of the accelerator pedal and engine speed and in which an ignition timing is controlled so as to produce a maximum output torque of the engine, thus ensuring a stable driveability and favorable air-fuel mixture ratio.

This can be achieved by providing a system for controlling an engine, comprises: (a) first means for adjusting an intake air quantity supplied to the engine according to an opening angle thereof, (b) second means for actuating the first means to adjust the opening angle according to an angular displacement thereof, (c) third means for detecting a characteristic value corelative to an engine output, (d) fourth means for detecting the angular displacement of the second means, (e) fifth means for detecting an engine speed, (f) sixth means for calculating a target value of the engine output corelative value from the angular displacement of the second means and engine speed detected by the fourth and fifth means, (g) seventh means for comparing the calculated target value of the engine output corelative value by the sixth means with the detected value of engine output corelative value by the third means, (h) eighth means for calculating the opening angle value of the first means on the basis of a comparison result of the seventh means, and (i) ninth means for further actuating the first means to adjust the opening angle of the first means according to the calculated opening angle of the eighth means in addition to the adjustment of the opening angle of the first means by means of the second means so that the detected value of the engine output corelative value by the third means coincides with the calculated target value thereof by the sixth means.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present invention may be obtained from the following detailed description taken in conjunction with the attached drawings in which like reference numerals designate corresponding elements and in which:

FIG. 1 is a simplified block diagram of an engine control system mounted in a vehicular engine;

FIG. 2 is a functional block diagram of a control unit shown in FIG. 1 in a first preferred embodiment;

FIG. 3 is an operational flowchart on which the control unit shown in FIG. 1 executes;

FIG. 4 is an explanatory view of a table used for the control unit shown in FIG. 1 to read a basic target value P_(mo) of a maximum value of pressure in an engine cylinder;

FIG. 5 is a simplified circuit block diagram of means for detecting P_(max) from a pressure sensor located on each engine cylinder shown in FIG. 1;

FIGS. 6(A) and 6(B) are an integrally operational flowchart for detecting P_(max) on which the microcomputer executes in place of the specific circuit configuration shown in FIG. 5;

FIG. 7 is a timing chart for explaining each output signal of circuit blocks shown in FIG. 5;

FIG. 8 is a simplified circuit block diagram of means for detecting an indicated mean effective pressure P_(i) for each engine cylinder in place of detecting the value of P_(max) ;

FIGS. 9(A) and 9(B) are integrally an operational flowchart on which a microcomputer executes for detecting the indicated mean effective pressure P_(i) in place of the circuit configuration shown in FIG. 8;

FIG. 10 is an explanatory view for explaining a table used for the microcomputer to read a basic target value P_(io) of the indicated mean effective pressure;

FIG. 11 is another simplified functional block diagram of the control unit in a second preferred embodiment;

FIG. 12 is an operational flowchart on which the control unit shown in FIG. 11 executes;

FIG. 13 is an explanatory view for explaining a table used for the control unit shown in FIG. 11 to read a basic throttle valve opening angle θ_(tmo) ;

FIG. 14 is still another functional block diagram of the control unit in a third preferred embodiment;

FIG. 15 is an operational flowchart on which the control unit shown in FIG. 14 executes;

FIG. 16 is a simplified circuit block diagram of a stability detecting block shown in FIG. 14 of the control unit;

FIG. 17 is a simplified circuit block diagram of a signal processing calculating block shown in FIG. 14 of the control unit;

FIGS. 18(A) and 18(B) are integrally an operational flowchart on which the microcomputer executes in place of the circuits shown in FIG. 17 for detecting P_(max) and θ_(pmax) for each engine cylinder;

FIG. 19 is a yet still another functional block diagram of the control unit in a fourth preferred embodiment; and

FIG. 20 is an operational flowchart on which the control unit shown in FIG. 19 executes.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will hereinafter be made to the attached drawings in order to facilitate understanding of the present invention.

FIG. 1 shows a circuit configuration of an engine control system according to the present invention which is applicable to an engine with an electronically controlled fuel injection system.

In FIG. 1, air outside of an engine 1 is first passed through an air cleaner 11 to remove dust contained in the air into an intake manifold 15 of the engine 1.

An airflow meter 12 measures an intake air quantity Q_(a) by means of the airflow meter 12. A throttle valve 14 installed within a throttle chamber 13 controls the intake air quantity Q_(a) according to its opening angle.

Air entered in the intake manifold 15 forms an air-fuel mixture with fuel injected through a fuel injection valve 17 installed within an intake port at a downstream of the throttle chamber 13, the air-fuel mixture thereafter being supplied to a combustion chamber of each cylinder 18.

In FIG. 1, numeral 21 denotes an engine speed sensor for detecting an engine speed N. The engine speed sensor 21 detects the engine speed on the basis of a revolution angle of an engine crankshaft.

Numeral 22 denotes an acceleration depression angle sensor for detecting an angular position θ_(a) of an accelerator pedal and for outputting a signal in proportion to the angular position of the accelerator pedal.

Numeral 23 denotes a cylinder pressure sensor for detecting inner air pressure P in each engine cylinder (or alternatively a particular cylinder). The pressure sensor 23 comprises a piezoelectric element in a form of a washer attached to a spark plug 40. The structure of the pressure sensor 23 is exemplified by U.S. patent application Ser. No. 574,693 filed on Jan. 24, 1984. The contents of the U.S. Patent Application is hereby incorporated by reference.

Numeral 35 denotes a throttle valve actuation device comprising a step motor and angle sensor for angularly displacing the throttle valve on the basis of a drive signal derived from a control unit 25 to be described later.

The control unit 25 outputs drive signals to the throttle valve actuation device 35 and injection valve 17 on the basis of the input signals from the sensors 21, 22, and 23. Numeral 39 denotes an ignition device to be described later.

FIG. 2 shows a functional block diagram of the control unit 25 in a first preferred embodiment.

In FIG. 2, numeral 26 denotes a target value calculating block for calculating a basic target value (to be described later) according to the current engine operating condition from the engine revolutional speed V detected by the engine revolutional speed sensor 21 and acceleration opening angle θ_(a) detected by the accelerator (pedal) depression angle sensor 22. The target value calculating block 26 obtains the basic target value through the calculation or through a table look up technique.

The basic target value described above is, in this embodiment, a basic target value P_(mo) of a maximum value of the cylinder pressure. The basic target value P_(mo) is previously stored and is read from a table shown in FIG. 4 in this embodiment.

Numeral 28 denotes a target value correction calculating block.

The basic target value P_(mo) is corrected with various engine operating variables such as an engine cooling water temperature. A final target value P_(m1) is calculated in in the block 28 from the following equation.

    P.sub.m1 =α.sub.mw ×α.sub.m ×P.sub.mo (1),

wherein α_(mw) and α_(m) are correction coefficients and as the values of α_(mw) and α_(m) are increased, the target value of P_(mo) is incrementally corrected.

The correction coefficient α_(mw) in the equation (1) is an incremental correction coefficient during the engine warm-up operation by which fuel is increased and is calculated from the following equation.

    α.sub.mw =K.sub.mw ×F.sub.t ×K.sub.adv   (2),

wherein K_(mw) is a constant number.

In the equation (2), F_(t) denotes a correction coefficient for increasing the amount of fuel supplied to the engine in inverse proportion to the engine cooling water temperature and K_(adv) is a correction coefficient for retarding an ignition timing when the engine cooling water temperature is lower than a normal temperature during engine warm-up operation. Therefore, the incremental correction coefficient α_(mw) permits the promotion of engine warm-up.

On the other hand, α_(m) is a correction coefficient during a transient operation of the engine, the value of the correction coefficient α_(m) being changed according to a rate of change in the depression angle of the accelerator pedal.

The correction coefficient α_(m) is calculated in the following equation (3) on the basis of a value dθ_(a) /dt since the accelerator pedal depression angle change detector 27 detects a change of the depression angle with respect to time (dθ_(a) /dt).

    α.sub.m =1+K.sub.m ×dθ.sub.a /dt         (3)

(K_(m) is a constant number)

The value of correction coefficient α_(m) becomes increased during the start of acceleration and becomes decreased during the start of deceleration.

Therefore, a responsiveness of the engine performance is improved during a transient state due to the correction coefficient α_(m).

Numeral 29 denotes a comparing block for comparing the above-described target value P_(m1) with a maximum value P_(max) of the cylinder pressure detected by the cylinder pressure sensor 23 and calculating a ratio α_(p1) in the following equation (4).

    α.sub.p1 =P.sub.m1 /P.sub.max                        (4)

A subsequent throttle valve actuation opening angle calculating block 30 calculates an opening angle θ_(tm1) in the following equation (5) from the ratio α_(p1).

    θ.sub.tm1a =K.sub.t1 ×α.sub.P1 ×θ.sub.tm1b (5)

(K_(t1) is a constant number)

In the equation (5), θ_(tm1) is calculated whenever a predetermined time has elapsed (for example, whenever the engine crankshaft has rotated through a predetermined angle, e.g., 360°). In addition, θ_(tm1b) denotes the opening angle of the throttle valve calculated at the previous time and θ_(tm1a) denotes the opening angle of the throttle valve calculated at the present time.

From these calculated values θ_(tm1a), θ_(tm1b), the throttle valve actuation opening angle Δθ_(tm1) (=θ_(tm1a) -θ_(tm1b)) is calculated.

The throttle valve actuation device 35 actuates the throttle valve 14 according to the calculated opening angle Δθ_(tm1).

The basic injection quantity calculating block 32 calculates a basic pulsewidth T_(p) (=K×Q_(a) /N, wherein K is a constant number) from the intake air quantity Q_(a) detected by the air flow meter 12 and engine revolutional speed N by the engine speed sensor 21.

An injection quantity correction calculating block 33 receives various information on conditions of the engine and various parts of the vehicle, corrects the pulsewidth T_(p), and obtains an actual injection pulsewidth T_(i).

The actual injection pulsewidth T_(i) corresponds to a duration for which the injection valve opens. The injection valve actuation device 34 actuates all injection valves 17 in all cylinders simultaneously once for one engine revolution.

Next, FIG. 5 shows a specific circuit configuration for detecting the maximum value P_(max) of the cylinder pressure applicable to a four-cylinder engine. The crank angle position sensor (not shown in FIG. 5) produces 720° signal and 1° signal in synchronization with the engine revolution speed. The period of 720° signal corresponds to a crank angle required for each cylinder to carry out four strokes in the four-cylinder engine. The period of 1° signal corresponds to two degrees of the crank angle.

In FIG. 5, numeral 50 denotes a crank angle position counter (POS counter) for indicating a crank angle position. The POS counter 50 is reset in response to a rising edge of the 720° signal and is incremented by one whenever the 1° signal rises and falls.

It should be noted that the 720° signal rises in a top dead center in a compression stroke of a first cylinder when an ignition order of the four-cylinder engine is set as 1-3-4-2 (refer to FIG. 7).

Numeral 51 denotes a frequency divider which is reset to 1 in response to the rising edge of the 720° signal and increments a count value by one when the count value of the POS counter 50 becomes a multiple of 180.

Numeral 52 denotes a multiplexor (MPX) which receives each pressure signal from the pressure sensors 23A, 23B, 23C, and 23D installed in each cylinder and changes output signals in synchronization with the output values of the divider 51. That is to say, the pressure signal of the first cylinder is outputted when the output value of the divider 51 is 1, the pressure signal of the third cylinder is outputted when the output value of the divider is 2, that of fourth cylinder when it is 3, and that of second cylinder when it is 4.

Numeral 53 denotes a C counter for indicating a crank angle position after the top dead center in the compression stroke of each engine cylinder. Whenever the output value of the divider 51 is changed, the C counter 53 is reset and is incremented by one whenever the 1° signal falls and rises.

Numeral 54 denotes an analog-to-digital converter (A/D converter) which converts the output signal of the multiplexer 52 into the corresponding digital signal whenever the count value of the C counter 53 changes.

Numeral 55 denotes a comparator which compares the digitally converted pressure value P with the memory value of P_(max) stored in the memory P_(max) 56. In the memory P_(max) 56, the maximum pressure value P_(max) 56 is updated to a new P_(max) memory value only when the pressure value P is greater than the maximum pressure value P_(max). That is to say, in the P_(max) memory 56, a greater pressure value P is replaced with the currently stored pressure value P thus the P_(max) memory 56 stores a maximum value P_(max) of the cylinder pressure in an expansion stroke. It should be noted that the P_(max) memory value of the P_(max) memory 56 is cleared whenever the output value of the divider 51 is changed so that the value of P_(max) for each cylinder is stored.

The P_(maxi) memory 57 is a memory for storing a memory value P_(max) for each cylinder. The updating of the memory value is carried out when the output value of the divider 51 is changed. Prior to the clear operation, the memory value of P_(max) stored in the P_(max) memory 56 is sequentially stored. That is to say, if the value of P_(max) in an i order cylinder is expressed by P_(maxi) (wherein i=1 through 4), the P_(maxi) memory 57 stores the values of P_(max1), P_(max3), P_(max4), and P_(max2) sequentially for each output value of the divider 51 in such an order as 1, 2, 3, and 4.

The maximum pressure value P_(max) of each cylinder detected in the above-described way can be detected in the same way by means of a microcomputer.

The microcomputer constituting the control unit 25 comprises: a Central Processing Unit (CPU); a Random Access Memory (RAM); a Read-Only Memory (ROM); and an I/O Port.

FIGS. 6(A) and 6(B) show an integrally operational flowchart of the microcomputer for detecting the maximum pressure value P_(max).

The operational flowchart shown in FIGS. 6(A) and 6(B) is divided into two routines: a program which is executed whenever the crank angle has rotated through 720°, i.e., in synchronization with the 720° signal; and a program which is executed whenever the crank angle has rotated through 1°, i.e., in synchronization with the 1° signal.

It should be noted that an execution timing is synchronized with a signal from an engine crankshaft angular position detector of the engine (not shown).

The 720° signal rises at the top dead center in the compression stroke in the first cylinder as described above. Thus, the program shown in FIG. 6(A) in synchronization with the 720°-signal is executed. That is to say, the count value of the POS counter is cleared whenever the 720°-signal rises in a step S20 shown in FIG. 6(A). It should be noted that the 720°-signal synchronized program has a priority higher than the 1°-signal synchronized program.

The 1°-signal synchronized program shown in FIGS. 6(A) and 6(B) is executed whenever the engine crankshaft has rotated through 180° since any one of the engine cylinder pistons has reached its top dead center (TDC) in the compression stroke whenever the crankshaft has rotated through 180° in the four-cylinder engine. Furthermore, since the crank angle position at which the maximum pressure value P_(max) is generated ranges within 40° with respect to the top dead center in the compression stroke, the pressure value P is detected whenever the 1° signal is received until the crank angle position reaches 39° after the top dead center in each compression stroke and is stored as the data value. Thereafter, the maximum value P_(max) is selected from the data values stored.

Specifically, the top dead center in the compression stroke of each engine cylinder corresponds to 1, 181, 361, and 541 of the count values of the POS counter. When the count values of the POS counter indicate 1, 181, 361, and 541, respectively, a flag (FLAG) which indicates start of the detection of P is turned to 0 and the C counter is cleared in steps S22 and 24. It should be noted that the POS counter 50 starts counting in response to the rising edge of the 1° signal immediately after the reset signal (720°-signal) is received.

It should be noted that since the POS counter 50 in the microcomputer starts counting in response to the rising edge of the 1°-signal immediately after the reset signal (720°-signal) is received, the value of POS counter is deviated by one at the top dead center in each compression stroke (refer to FIG. 7) of the engine cylinders.

It should also be noted that FLAG is a flag indicating to determine whether an analog value from the pressure sensor 23A through 23D or 23 should be converted to the digital value and the A/D conversion should be carried out when the FLAG indicates 1.

In a step 23, if the ignition order for the four-cylinder engine cylinders is 1-3-4-2, the determination of cylinder number is possible at the same time when the detection of the top dead center (TDC) is carried out. When the count value of the POS counter indicates 1, 181, 361, and 541, a cylinder numbers 1, 3, 4, and 2 are stored in the cylinder number register (NCYL register) (in a step S23). In this way, if the top dead center in the compression stroke of the particular engine cylinder is determined, the pressure signal of the pressure sensor of each engine cylinder selects a channel of the A/D converter to carry out the A/D conversion and the value of P is stored in a register of the C counter address (corresponds to the count value of the C counter) in steps S26 through S28.

The storage operation of the value P is continued until the crank angle position reaches 39° after the top dead center in the compression stroke. When the crank angle position reaches 40° after the top dead center in the compression stroke, the routine goes to a step S30 in which the determination of P_(max) is carried out.

Next, after the memory value P_(max) of the P_(max) memory is once turned to "0" in order to determine the maximum value of P_(max) in a step S31, the routine goes to a step S32 wherein the value of the P_(max) in the P_(max) memory is compared with the data value of the C counter address and the P_(max) memory value is updated to the data value if the data value is greater than the C counter address data value.

In a step S33, one of the values P_(max) which indicates the maximum is stored in the P_(max) memory. The value P_(max) is transferred to the P_(maxi) memory after detection of P_(max) in a step S36. It is noted that symbol i denotes the number of cylinder to be stored in the NCYL register and P_(maxi) denotes the maximum value of the cylinder number of i.

Consequently, the maximum value P_(max) thus obtained is outputted from the comparing block 29 shown in FIG. 2.

It should be noted that an indicated mean effective pressure P_(i) can be utilized in place of the maximum pressure value P_(max). For example, if the cylinder pressure P is detected in the vicinity of the top dead center in the compression stroke in which the amount of work is greatest in one engine cycle, a value corresponding to P_(i) for each cylinder in a time sharing mode may be adapted.

A specific configuration for detecting the indicated mean effective pressure P_(i) is shown in FIG. 8, FIG. 9(A), and FIG. 9(B).

That is to say, a minute work L (=PxΔV) which is the pressure value P multiplied by a minute change ΔV in a cylinder volume is accumulated over an interval ranging from a plus predetermined crank angle to a minus predetermined crank angle (, e.g., ±60°) before and after the top dead center (TDC) in the compression stroke.

The accumulated value Σ(P×ΔV) divided by a cylinder volume V from the top dead center in the compression stroke to the predetermined crank angle is used as the indicated mean effective pressure P_(i) (in steps S40 through S42, steps S34, and S43).

It should be noted that in the case the basic target value of the cylinder pressure to be compared needs to be the basic target value P_(io) of the indicated mean effective pressure. FIG. 10 shows an example of a table of the basic target value P_(io) with respect to the engine speed and accelerator pedal depression angle.

An action of the above-described internal configuration of the control unit 25 will be described below with reference to a flowchart shown FIG. 3.

A control arithmetic operation is executed, e.g., whenever a constant period of time has passed or in synchronization with the engine revolution speed. In this case, the flowchart shown in FIG. 3 is executed once for each engine revolution.

A control of fuel injection quantity to the engine is carried out in steps S8 through S11.

In FIG. 3, in the basic injection quantity calculating block 32, a pulsewidth T_(p) corresponding to a basic fuel injection quantity is calculated at a step S8 from the values of Q_(a) and N in a table look up technique in the following way:

    T.sub.p =K×Q.sub.a /N,

wherein K is a constant number.

In the fuel injection quantity correction calculating block 32, a correction coefficient for correcting the basic pulsewidth T_(p) (, e.g., a cooling water temperature incremental correction coefficient to increase the amount of fuel when the engine is not sufficiently warmed up) is calculated in a step S9 and an actual pulsewidth T_(i) is calculated through a multiplication of the basic pulsewidth T_(p) by the correction coefficient.

In the fuel injection valve actuation device 34, the fuel injection valve is actuated in a step S11 to open to inject fuel the quantity of which is derived at the step S10.

In this way, as the value of Q_(a) is increased, the fuel injection quantity is accordingly increased so that the cylinder pressure is increased.

Next, a feedback corrective control of a target value on the basis of a detected value of the cylinder pressure is carried out in steps S1 through S7 shown in FIG. 3.

That is to say, in the target value calculating block 26, the value of P_(mo) derived according to the instantaneous engine operating condition is calculated from the values of N and θ_(a) through an arithmetic operation or in a table look-up technique in a step S1.

The target value correction calculating block 28 calculates the correction coefficient α_(mw) for correcting the value P_(mo) (=K_(mw) ×F_(t) ×K_(adv), K_(mw) is the constant number) in a step S3 and a correction coefficient α_(m) (=1+K_(m) ×dθ_(a) /dt, K_(m) is a constant number) in a step S2. The target value correction calculating block 28 finally calculates P_(m1) by a multiplication of the calculated values α_(mw), α_(m) by the value of P_(mo) (P_(m1) =α_(mw) ×α_(m) ×P_(mo)) in a step S4.

Next, in a comparing block 29 a ratio αP₁ of P_(max) to P_(m1) is calculated in a step S5 as follows: αP₁ =P_(m1) /P_(max). It should be noted that the value of P_(max) may be derived from the pressure sensor 23 installed on a representative engine cylinder, an average value of the maximum values P_(max) for each of two engine revolutions derived from each pressure sensor 23A through 23D installed on the corresponding engine cylinder as described above the reference to FIG. 5 and FIGS. 6(A) and 6(B), or the step S5 may be executed for each half revolution.

The throttle valve actuation opening angle calculating block 30 multiplies the value of αP₁ by the value of θ_(tm1b) calculated at the previous execution time to obtain the present calculation θ_(tm1a) (=Kt₁ ×αP₁ θ_(tm1b), Kt₁ is a constant number) in a step S6 so that Δθ_(tm1) (θ_(tm1a) -θ_(tm1b)) is calculated in a step S6.

The value of Δθ_(tm1) thus obtained is transferred to the throttle valve actuation device 35 as the drive signal so that the throttle valve actuation device 35 actuates the throttle valve 14 to open or close the throttle valve 14 according to the value of Δθ_(tm1).

For example, if the actual detected value is higher than the target value, the ratio αP₁ is smaller than 1 (αP₁ <1), θ_(tm1a) <θ_(tm1b), and thus Δθ_(tm1) <0. At this time, the throttle valve actuation device 35 reduces the opening angle by the opening angle determined by an absolute value of Δθ_(tm1). Therefore, the value of Q_(a) is reduced and the reduction of Q_(a) causes the reduction of fuel injection quantity. Consequently, the value of P_(max) is reduced to approach to the value of P_(m1). On the other hand, if the actual detection value is lower than the target value, the throttle valve actuation device 35 increases the throttle valve opening angle, thus the value of P_(max) increasing and approaching to the value of P_(m1).

In this way, the value of P_(max) coincides with the value of P_(m1) so that the same cylinder pressure can always be achieved with the same depression angle of the accelerator pedal. In other words, a stable control of the engine output via such a cylinder pressure control can be achieved with a previously set target value not being affected by the difference in engine operating environment and aging effect.

It should be noted that the accelerator opening angle change rate detecting block 27 is added to improve driveability during a transient operation. A basic configuration is satisfied without the presence of the detecting block 27.

Therefore, the change in the basic target value with respect to time (dP_(mo) /dt) may be calculated in place of the change rate of the basic target value with respect to time dθ_(a) /dt.

FIG. 11 shows a functional block diagram of the control unit 25 in a second preferred embodiment according to the present invention.

FIG. 12 shows an operational flowchart on which the microcomputer constituting the control unit 25 executes in the second preferred embodiment.

Although the throttle valve opening angle is derived on the basis of the previously detected opening angle of the throttle valve in the first preferred embodiment, with the basic throttle valve opening angle θ_(tmo) previously calculated from the engine operating condition the throttle valve opening angle is, in the second embodiment, calculated from the basic throttle valve opening angle θ_(tmo).

In more details, the basic throttle valve opening angle calculating block 40 shown in FIG. 11 calculates the basic throttle valve opening angle θ_(tmo) from the values of N and θ_(a) through an arithmetic operation or in a table look-up technique. A table on the basic throttle valve opening angle θ_(tmo) is shown in FIG. 13 when the table look-up technique is used.

A throttle valve actuation opening angle calculating block 43 calculates a throttle valve opening angle θ_(tm2) from the value of θ_(tmo) in the following equation:

    θ.sub.tm2 =Kt.sub.2 ×α.sub.p2 ×θ.sub.tmo (6)

wherein Kt₂ is a constant number. In the equation (6), α_(p2) denotes a ratio between the actual maximum value of the cylinder pressure and target value for the maximum value in the cylinder pressure. The ratio α_(p2) can be calculated in the comparing block 42 as follows:

    α.sub.p2 =P.sub.m2 /P.sub.max                        (7)

The target value correction calculating block 41 shown in FIG. 11 corrects the value of P_(mo) with various engine operating variables such as the engine cooling water temperature, etc. and calculates the final target value P_(m2) in the following equation.

    P.sub.m2 =α.sub.mw ×P.sub.mo                   (8)

To calculate the throttle valve actuation opening angle Δθ_(tm2) from the value of θ_(tm2), a difference of the present throttle valve opening angle from the previous throttle valve opening angle may be obtained in the same way as the first preferred embodiment. Thus, the throttle valve actuation device 43 drives to open or close the throttle valve 14 according to the value Δθ_(tm2).

It should be noted that since other parts shown in FIGS. 11 and 12 are the same as those shown in FIGS. 2 and 3, the same reference numerals designate corresponding elements and the detailed description is omitted here.

The same action and effect in the second embodiment as the first embodiment can be achieved.

Furthermore, since the value of θ_(tmo) is previously obtained according to the engine operating condition, the value of t_(mo) is immediately changed even when the operator changes the operating condition, the responsiveness of the engine is improved.

Although the value of θ_(tmo) is calculated from the values N and θ_(a) in the second preferred embodiment, the value of θ_(tmo) may be calculated from the value of P_(mo) through the arithmetic operation or in the table look-up technique.

FIG. 14 shows a functional block diagram of the control unit 25 in a third preferred embodiment.

In FIG. 14, a comparing block 29A compares the value of P_(mo) derived from the target value correction calculating block 28 and the maximum value P_(max) of the cylinder pressure outputted from a signal processing calculating circuit 31 and calculates a ratio α_(p) in the following equation.

    α.sub.p =P.sub.m /P.sub.max                          (9)

The throttle valve actuation opening angle calculating block 30 in this embodiment calculates the throttle valve opening angle value θ_(tm) on the basis of the value P_(tmo) derived from the basic throttle valve opening angle calculating block 40 and the ratio α_(p) whenever a predetermined time (, e.g., a predetermined crank angle of 360°) has passed.

    θ.sub.tm =K.sub.t ×α.sub.p ×θ.sub.tmo (10),

wherein K_(t) denotes a constant number. θ_(tm) calculated in the above equation (10) is the current throttle valve opening angle. The throttle valve actuation opening angle Δθ_(tm) by which the throttle valve is actuated to indicate the opening angle of θ_(tm) may, for example, be calculated from a difference between the opening angle values of the present and previous calculation results; Δθ_(tm) =θ_(tma) -θ_(tmb). In the multi-cylinder engine, the values of θ_(tm) for all cylinders are averaged for each engine cycle and the average value is adopted as the value of θ_(tm). In addition, the function of basic throttle valve opening angle calculating block 40 may be incorporated in the throttle valve actuation opening angle calculating block 30. In this case, the value of θ_(tm) may be calculated in the throttle valve actuation opening angle calculating block 30 from the following equation.

    θ.sub.tm =K.sub.t '×α.sub.p ×P.sub.mo (11),

wherein K_(t) '=K_(t) ×K_(m).

The throttle valve actuation device 35 actuates the throttle valve 14 according to the calculated Δθ_(tm).

Next the basic fuel injection quantity calculating block 32 calculates the basic pulsewidth T_(p) (=KxQ_(a) /N, wherein K is a constant number) from engine operating parameters, e.g., from intake air quantity Q_(a) detected by the airflow meter 22 and engine revolutional speed N from the engine revolutional speed sensor 31. The basic pulsewidth T_(p) corresponds to the fuel injection quantity injected from the fuel injection valve 27. Numeral 44 denotes a stability detecting block which compares the crank angle position θ_(pmax) (to be described later) which corresponds to the value P_(max) calculated in the signal processing calculating block 31 with the limit value of a predetermined crank angle range predefined as a stable range of the engine. If θ_(pmax) falls within the predetermined crank angle range, the stability detecting block 44 determines that the engine is stably operating and outputs logic "0" signal. If θ_(max) does not fall within the predetermined crank angle range predefined as the engine stable range, the stability detecting block 44 determines that the engine is not stably operating and outputs logic "1" signal. Numeral 45 denotes an injection quantity correction calculating block which reduces gradually a correction coefficient α of air-fuel mixture ratio on the basis of the following equation so as to return the engine output in the vicinity of a limit value of the stable range to improve fuel consumption when the output signal from the stability detecting block 43 is "0", thus the air-fuel mixture ratio becomes a lean side.

    α=α.sub.B -Δα1                     (12),

wherein α_(B) denotes the previously calculated air-fuel mixture ratio correction coefficient and Δα1 denotes an air-fuel mixture leaning correction factor.

When the output signal of the stability detecting block 43 is "1", the injection quantity correction calculating block 45 increases gradually the correction coefficient α on the basis of the following equation so as to return the engine output to the limit value of the stable range. Thus, the air-fuel mixture ratio becomes richer.

    α=α.sub.B +Δα.sub.r                (13),

wherein Δα_(r) denotes an air-fuel mixture riching correction factor. The arithmetic operation shown in either of the equation (12) or (13) is carried out once for each predetermined period of time (, e.g., once for each engine revolution).

The injection quantity correction calculating block 34A calculates the fuel injection pulsewidth T_(i) in the following equation (14).

    T.sub.i =T.sub.p ×α+T.sub.s                    (14),

wherein T_(s) denotes a battery voltage variation correction factor for correcting the variation of a drive voltage applied to the fuel injection valve 27.

It should be noted that a correction control for maintaining the engine output in the vicinity of the stable range is not carried out when the engine is under high-load under high revolution conditions started, warmed up, and in a idling state under which the high engine output is required (, i.e., under such conditions the factor α is zero). Hence, under such engine operating ranges, the same control as the conventional control is carried out. The fuel injecction valve actuation dervice 34A generates a drive signal having a valve opening time corresponding to the injection pulsewidth T_(i) at a predetermined timing (for example, once for each engine revolution) to actuate to open the fuel injection valve(s) 17.

FIG. 16 shows a functional block diagram of the stability detecting block 44 shown in FIG. 14. The stability detecting block 44 comprises: a memory section 51A for storing values of θ_(pmax) ; a calculating section 52A for calculating a control width (a predetermined crank angle range) of a limit value from the stored value θ_(pmax) in the memory 51; a memory section 53A for storing the upper and lower limits of the control width; and a determining section 54A for determining whether the value θ_(pmax) falls within the control width by comparing the value θ_(pmax) with the stored upper limit value and lower limit value. In details, the memory section 51 stores the measured values of θ_(pmax) by an n cycle (e.g., four times) for each engine cylinder into a memory location allocated to each cylinder. The calculating section 52A reads the contents of the memory section 51A, calculates the average values AV1 through AV4 of θ_(pmax) for each engine cylinder, and calculates the upper limit values A1 through A4 and lower limit values B1 through B4, respectively. It is preferable that the average values are movable average values maintaining the past operating states in a relatively favorable state. In addition, the upper and lower limit values A and B are set in such a way that the difference between the upper and lower limit values A and B and the average value AV gives a number of a root mean square value (four) to which two is added, i.e., six to provide an allowance for the root mean square value of a dispersion value (sixteen) of θ_(pmax) at a predetermined limit of a stable area.

The calculating section 52A determines whether the value θ_(pmax) detected at the last cycle among the above-described n cycles falls within a stable range from the upper limit value A to the lower limit value B of the detected cylinder. The memory section 53A functions as a counter allocated to each cylinder in which the value U1 through U4 of a counter corresponding to the engine cylinder is incremented by one when either of two inequalities is satisfied for the engine cylinder; θ_(pmax) >A or θ_(pmax) <B. The determining section 54A determines that the engine falls out of the stable region and outputs a logic "1" signal when any one of the count values U1 through U4 of the counters for the respective engine cylinders indicates a predetermined value U_(o) (for example, 3) during a predetermined interval (for example, during 24 engine revolutions) or when the number of engine cylinders C for which the count values U1 through U4 which indicate equal to or more than one reaches a predetermind value C_(o) (for example, two). The determining section 54 thereafter clears all count values of the memory section 53A. On the other hand, when neither count values U1 through U4 nor number of engine cylinders C indicates the respective predetermined values U_(o) and C_(o) , the determining section 54 determines that the engine is in the stable region, outputs a logic "0" signal, and clears all counting values of the memory section 53 after a predetermined interval of time has passed.

Next, the detailed function of the signal processing calculating block 31 shown in FIG. 14 which detects P_(max) and θ_(pmax) will be described with reference to FIG. 17.

FIG. 17 shows a specific circuit configuration of the above-described signal processing calculating block 31 shown in FIG. 14 which is applicable to the four-cylinder engine.

The crank angle position sensor outputs 720° signal in synchronization with the engine revolution (the crank angle of 720° corresponds to two revolutions of the engine within which four strokes of a multi-cylinder engine are carried out) and outputs 1° signal whenever the crankshaft rotates through one degree (a period of the 1° signal corresponds to two degrees) as described above with reference to FIG. 5.

The functions of the POS counter 50, divider 51, multiplexer (MPX) 52, C counter 53, analog-to-digital counter (A/D converter) 54, comparator 55, and P_(max) memory 56 are already described with reference to FIG. 5. Therefore, the description of each circuit described above is omitted here. A θ_(max) memory 67 stores the crank angle θ_(pmax) with respect to the top dead center (TDC) in the compression stroke of each engine cylinder. It should be noted that in the P_(max) and θ_(pmax) memories the stored values of the P_(max) and θ_(pmax) memories are cleared whenever the output value of the divider 51 is changed.

A P_(maxi) memory 68 is a memory for storing the memory value in the P_(max) memory 67 corresponding to each cylinder and a θ_(pmaxi) memory 69 is a memory for storing the memory value of each cylinder. The updating of the values of these memories 68, 69 is carried out when the output value of the divider 51 is changed. The stored values of P_(max) and θ_(pmax) stored respectively in the P_(max) memory 56 and θ_(pmax) memory 67 are sequentially stored into these P_(maxi) and θ_(pmaxi) memories before clear operation. That is to say, if the values of P_(max) and θ_(pmax) in the i-order cylinder are expressed by P_(maxi) and θ_(pmaxi) (wherein i=1 through 4 in the four-cylinder engine), the values of P_(max1), P_(max3), P_(max4), and P_(max2) are stored sequentially in the P_(maxi) memory 68 for an order of the output values 1, 2, 3, and 4 of the divider 51. On the other hand, the values of θ_(pmax1), θ_(pmax3), θ_(pmax4) and θ_(pmax2) are stored sequentially in the θ_(pmaxi) memory 69 for the order of the output values 1, 2, 3, and 4 of the divider 51.

The above-described detection of P_(max) and θ_(pmax) for each cylinder can also be carried out by the use of the microcomputer.

A flowchart on which the microcomputer executes is shown in FIGS. 18(A) and 18(B).

The flowchart shown in FIGS. 18(A) and 18(B) comprises two kinds of programs: a program executed whenever the 720° signal is received and a program executed whenever the 1° signal is received as described above with reference to FIGS. 6(A) and 6(B).

The 720° signal rises when a piston of the first cylinder has arrived at the top dead center (TDC) in its compression stroke. Thus the program synchronized with the 720° signal is started in response to the rise in the 720° signal. The value of the POS counter 50 is cleared when the 720° signal rises in a step SP20.

Furthermore, since the crank angle position at which P_(max) is generated falls generally within 40 degrees with respect to the top dead center in the compression stroke, the cylinder pressure P and crank angle position θ_(p) after the top dead center in the compression stroke are simultaneously detected whenever the 1° signal is received until the crank angle position has reached 39° after the top dead center (TDC) in the compression stroke. The detected values of P and θ_(p) are stored. Thereafter, among the detected and stored values of P and θ_(p), the microcomputer selects the maximum value P_(max) and selects the crank angle position θ_(pmax) after the top dead center in the compression stroke. That is to say, the detection of P and θ_(p) is carried out in the steps SP21 through SP30 and the selection of P_(max) and θ_(pmax) is carried out in the steps SP31 through SP38.

Specifically, since the top dead center in the compression stroke of each engine cylinder is indicated when the POS count values of the POS counter indicate 1, 181, 361, and 541, the flag (FLAG) for starting the detection of P is turned to "0" and the C counter is cleared (steps SP22 and SP24). Since the POS counter starts counting in response to the rising edge of the 1° signal immediately after the reset signal (720° signal) is received, the count value thereof is deviated by one when the top dead center in the compression stroke is reached (refer to FIG. 7). Since the function of FLAG is already described before with reference to FIGS. 6(A) and 6(B), the description of the FLAG is omitted here.

The contents of the step SP23 is also already described thus is omitted here.

In this way, when the top dead center of a particular engine cylinder is determined, the analog-to-digital conversion is carried out by the selection of a channel of the A/D converter at which the pressure signal of the cylinder pressure sensor for each cylinder according to the cylinder number of the particular engine cylinder. Thereafter, the values of P and θ_(p) are stored in a register of a C counter address (corresponds to the counting value of the C counter) as data values (steps SP26 through SP28).

The storage operation of the values P and θ_(p) is continued until 39 degrees after the top dead center in the compression stroke of each cylinder. When the crank angle position reaches 40 degrees after the top dead center in the compression stroke of each cylinder, the determinations of respective values P_(max) and θ_(pmax) are carried out (steps SP29 and SP30).

Next, to halt the detection of P, a flag (FLAG) is turned to "1" in a step SP31. In addition, the count value of the C counter, the memory value of P_(max) stored in the P_(max) memory, and the memory value of θ_(pmax) in the θ_(pmax) memory are once cleared in the step SP31.

Thereafter, the memory value of P_(max) memory is compared with the data value of the C counter address in a step SP32. If the data value of the C counter address is greater than the memory value of P_(max) memory, the memory values of P_(max) and θ_(pmax) memories are updated to the corresponding data values in steps SP32 through SP36. Therefore, the value of P_(max) which is the maximum among the data values is stored in the P_(max) memory and the value of θ_(pmax) which corresponds to the value of P_(max) is stored in θ_(pmax) memory. When the count value of C counter indicates 40, i.e., the crank angle position reaches 40 degrees after the top dead center in the compression stroke, the values of P_(max) and θ_(pmax) are moved into the P_(maxi) and θ_(pmaxi) memories, respectively in steps SP37 and SP38.

The detected values of P_(max) and θ_(pmax) are sent to the comparing block 29A and stability detecting block 44. However, since these values are simultaneously obtained by means of the signal processing calculating block 31, the cost reduction is possible as compared with the case where the values of P_(max) and θ_(pmax) are detected separately.

The action in the above-described construction will be described with reference to a flowchart of FIG. 15.

Although the control arithmetic operation shown in FIG. 15 is carried out, e.g., for each predetermined period of time or in synchronization with the engine revolution, it is once executed for each engine revolution.

A feedback correction control of a target value on the basis of the detection value of the cylinder pressure is carried out in steps SP1 through SP8.

In a step SP1, the signal processing calculating block 31 calculates P_(max) and θ_(pmax) for each combustion on the basis of the input signal from the cylinder pressure sensor 33. Since the combustion of fuel is carried out once for two engine revolutions, the step SP1 may be executed after the end of fuel combustion stroke. It should be noted that in the case of multi-cylinder engine, the values of P_(max) and θ_(pmax) for all cylinders are averaged at a rate of once for two engine revolutions and the averaged values may be used as the values of P_(max) and θ_(pmax).

In a step SP2, the value of P_(mo) is calculated according to the engine operating condition from the values of N and θ_(a) through an arithmetic operation or in a table look-up technique.

In steps SP4 and SP5, the target value correction calculating block 28 circulates the correction coefficient α_(mw) (=K_(mw) ×F_(t) ×K_(adv) wherein K_(mw) is a constant number) to correct the value of P_(mo) and calculates P_(m) (=α_(mw) ×P_(mo)).

In a step SP6, the comparing block 29A calculates the ratio α_(p) (=P_(m) /P_(max)).

In a step SP7, the throttle valve actuation opening angle calculating block 30 calculates θ_(tm) (=K_(t) ×α_(p) ×θ_(tmo), wherein K_(t) is a constant number) and calculates Δθ_(tm) (=θ_(tma) -θ_(tmb)). It should be noted that θ_(tmo) (=K_(m) ×P_(mo), wherein K_(m) is a constant number) is calculated in a step SP3 by means of the basic throttle valve opening angle calculating block 40.

The calculated Δθ_(tm) is transferred to the throttle valve actuation device 35 to actuate the throttle valve 14 to open or close through an angle according to the value of Δθ_(tm).

For example, if the actual detected value is higher than the target value, the ratio of α_(p) is lower than one (α_(p) <1), θ_(tma) <θ_(tmb), and Δθ_(tm) <0. Consequently, the throttle valve actuation device 35 actuates the throttle valve 14 to close by Δθ_(tm). Thus, the value of intake air quantity Q_(a) is reduced and the fuel injection quantity is accordingly reduced, the value of P_(max) being reduced to approach the value of P_(m). On the other hand, if the actual detection value is lower than the target value, the throttle valve actuation device 35 actuates the throttle valve 14 to increase the opening angle of the throttle valve 14, thus the value of P_(max) being increased and approaching to the value of P_(m).

The fuel injection quantity control is carried out in steps SP9 through SP13.

That is to say, in the step 9, the basic fuel injection quantity calculating block 32 calculates T_(p) (=K×Q_(a) /N, K is a constant number) from the values Q_(a) and N through an arithmetic operation.

In the step SP10, the stability detecting block 43 compares the crank angle position θ_(pmax) at which the cylinder pressure indicates maximum with both limit values of the predetermined stable region to determine whether the engine operating condition is in the vicinity of either of the limit values in the stable region. In steps SP11 and SP12, the fuel injection quantity correction calculating block 45 calculates the air-fuel mixture ratio correction coefficient α for maintaining the engine operating condition in the vicinity of limit values in the stable region such that the air-fuel mixture is made thinner when the engine is within the stable region and is made richer when the engine is out of the stable region according to the detection result of the stability detecting block 44 in the feedback control region of the air-fuel mixture ratio, calculates a battery voltage variation correction coefficient T_(s), and calculates the final fuel injection pulsewidth T_(i) (=T_(p) ×α+T_(s)). The fuel injection quantity correction calculating block 45 calculates other correction coefficients according to the engine operating condition except the air-fuel mixture ratio correction coefficient α. The fuel injection valve actuation device 34A actuates the fuel injection valve 27 to open for a duration according to the finally calculated pulsewidth T_(i) in a step SP13.

Therefore, in an engine operating region in which the air-fuel mixture ratio is fedback on the basis of the air-fuel mixture ratio correction coefficient α, the value of α is reduced gradually (α=α_(B) -Δα1) to make the air-fuel mixture thinner when the engine operation falls within the stable region. If the engine operation is not in the stable region, the value of α is increased gradually to make the air-fuel mixture richer (α=α_(B) +Δα_(r)).

In this way, at the same time when the value of P_(max) coincides with the value of P_(m), the engine is controlled in the vicinity of the limit value of the stable region. Consequently, the same cylinder pressure is always obtained for the same depression angle of the accelerator pedal and the fuel consumption can be suppressed to the minimum.

FIG. 19 shows a functional block diagram of the control unit 25 in a fourth preferred embodiment.

In FIG. 19, the functions of the basic fuel injection quantity calculating block 32, fuel injection correction calculating block 33, fuel injection valve actuation device 34, target value calculating block 26, basic throttle valve opening angle calculating block 40, target value correction calculating block 28, comparing block 29A, throttle valve actuation opening angle calculating block 30, throttle valve actuation opening angle calculating block 30, and the signal processing calculating block 31 are already described with reference to FIG. 2, FIG. 11, and FIG. 14, respectively. Therefore, the description of these functional blocks are omitted here. In FIG. 1 and FIG. 19, numeral 39 denotes an ignition device for igniting spark plugs 40 located within the respective engine cylinders in response to an ignition command signal from the control unit 25.

Numeral 36 denotes an ignition timing calculating block which calculates a basic target value SA_(o) of the ignition timing from the engine operating variables such as the intake air quantity Q_(a) detected by the air flow meter 12 and engine speed N detected by the engine speed sensor 21 through the arithmetic operation or table look-up technique.

Numeral 37 denotes an ignition timing correction calculating block in which the basic target value SA_(o) is corrected so that an optimum ignition timing (for example, an ignition timing MBT (Minimum Spark Advance for Best Torque) at which the optimum fuel consumption is made) can be achieved on the basis of the crank angle position θ_(pmax) (to be described later) at which the maximum pressure value P_(max) is produced.

The following description is made on the ignition timing control in which the value of θ_(pmax) at which the ignition timing is in the MBT state is substantially fixed to a known value (15 degrees through 18 degrees after the top dead center) for the engine on which the control unit 25 is mounted regardlessly of the engine operating condition. That is to say, if the target value for this known value is θ_(pmaxo), the basic target value SA_(o) is corrected so that θ_(pmax) coincides with θ_(pmaxo) for each combustion stroke. Actually, since the value of θ_(pmax) for each combustion is slightly varied, a movable mean value θ_(pmax) is obtained with respect to the past several times (for example, four times). The difference results between the movable mean value θ_(pmax) and θ_(pmaxo) corrects the basic target value SA_(o) as a correction item so that the ignition timing angle value SA is calculated from the following equation:

    SA=SA.sub.o +α.sub.sa (θ.sub.pmax -θ.sub.pmaxo) (15)

(, wherein α_(sa) is a constant number)

The ignition timing angle value SA is calculated by the following equation in which the basic target value SA_(o) is multiplied by a correction coefficient α_(t) according to the engine cooling water temperature during an engine warm-up operation in order to promote the engine warming up.

    SA=α.sub.t ×SA.sub.o                           (16)

(α_(t) is a constant number)

In addition, numeral 38 denotes an ignition signal generator in which the ignition command signal is produced which interrupts a primary current flowing through an ignition coil (not shown) of the ignition device 39 on the basis of the ignition timing angle value SA thus calculated and current supply duration controlled by the battery voltage.

Since the construction of the signal processing calculating block 31 is already described with reference to FIG. 17, the description thereof is omitted here.

The values of P_(max) and θ_(pmax) (or θ_(pmax)) can also be detected by the use of a microcomputer. That is to say, the microcomputer can detect the values of P_(max) and θ_(pmax) on the basis of the flowchart shown in FIGS. 18(A) and 18(B) as described above on the third preferred embodiment.

The operation of the fourth preferred embodiment will be described with reference to a flowchart shown in FIG. 20. Since in the operational flowchart shown in FIG. 20, contents of steps ST1 through ST9 are the same as those of the steps SP1 through SP9 of the flowchart shown in FIG. 15, the detailed description of the contents in these steps is not made here.

In steps ST10 through ST12, the injection quantity correction calculating block 32 calculates the correction coefficient, calculates the final fuel injection pulsewidth T_(i) in which the basic fuel injection quantity pulsewidth T_(p) is multiplied by the correction coefficient and the fuel injection valve actuation device 34 actuates the fuel injection valve 17 to open to inject fuel, the duration of which is dependent on the final pulsewidth T_(i).

Next, the ignition timing control is executed in steps ST13 through ST15.

In the step ST13, the ignition timing calculating block 36 calculates the value of SA_(o) from the engine revolution speed N and intake air quantity Q_(a).

The ignition timing correction calculating block 37, in step ST14, corrects the value of SA_(o) according to the cooling water temperature during the warm-up operation (for example, when the cooling water temperature is below 75° C.) and calculates the value of SA through the correction of SA_(o) so that the value of θ_(pmax) (or θ_(pmax)) coincides with that of θ_(pmaxo). The ignition signal generator 38 produces the ignition command signal at a timing based on the calculated value SA, the ignition command signal interrupting the primary current in the ignition coil in the ignition device 39.

In this way, when the value of P_(max) coincides with the final target value of P_(m), the ignition timing is simultaneously controlled to provide the maximum engine output. Thus, the same cylinder pressure can always be produced for the same depression angle of the accelerator pedal.

Since as described above the engine control system according to the present invention detects a value correlative to the engine output, controls the opening angle of the throttle valve correctively as the detection value being the feedback signal so that the detected value coincides the target value, the same engine output can always be produced at the same depression angle of the accelerator pedal without influence by the difference in the environment under which the engine is operated and by the aging effect. In addition, since the engine control system according to the present invention controls the engine output correctively in the vicinity of both limit value of the engine stable operation region with the detected value as the feedback signal, the same engine output can always be produced as described above and the fuel consumption can be suppressed at the minimum. Furthermore, since the engine control system controls the ignition timing at which the engine output is maximized with the detected value as the feedback signal, the same engine output can always be produced at the same depression angle of the accelerator pedal without influence by the above-described difference in the environment under which the engine is operated and aging effect.

It will fully be understood by those skilled in the art that the detailed description is made in terms of preferred embodiments and various changes and modifications may be made without departing from the spirit and scope of the present invention which is to be difined by the appended claims. 

What is claimed is:
 1. A system for controlling an engine, comprising:(a) first means for adjusting an intake air quantity supplied to the engine according to an opening angle thereof; (b) second means for actuating said first means to adjust the opening angle according to an angular displacement thereof; (c) third means for detecting a characteristic value corelative to an engine output; (d) fourth means for detecting the angular displacement of said second means; (e) fifth means for detecting an engine speed; (f) sixth means for calculating a target value of the engine output corelative value from the angular displacement of said second means and engine speed detected by said fourth and fifth means; (g) seventh means for comparing the calculated target value of the engine output corelative value by said sixth means with the detected value of engine output corelative value by said third means; (h) eighth means for calculating the opening angle value of said first means on the basis of a comparison result of said seventh means; and (i) ninth means for further actuating said first means to adjust the opening angle of said first means according to the calculated opening angle of said eighth means in addition to the adjustment of the opening angle of said first means by means of said second means so that the detected value of the engine output corelative value by said third means coincides with the calculated target value thereof by said sixth means.
 2. The engine control system according to claim 1, wherein said third means detects a maximum pressure in any one of engine cylinders as the engine output corelative value.
 3. The engine control system according to claim 1, wherein said third means detects an indicated average mean effective pressure as the engine output corelative value.
 4. The engine control system according to claim 1, wherein said third means detects a maximum pressure in each engine cylinder and calculates an average value of the maximum pressure in each engine cylinder for each of two engine revolutions as the engine output corelative value.
 5. The engine control system according to claim 2, which further comprises:(a) tenth means for detecting the intake air quantity supplied to the engine the intake air quantity being adjusted by said second and ninth means; (b) eleventh means for calculating a fuel quantity supplied to the engine on the basis of the detected engine speed by said fifth means and detected intake air quantity by said tenth means; and (c) twelveth means for supplying fuel to the engine the quantity of which is calculated by said eleventh means.
 6. The engine control system according to claim 1, wherein said sixth means comprises:(a) tenth means for calculating a basic target value of the engine output corelative value according to the detected angular displacement of said second means by said fourth means and detected engine speed by said fifth means; and (b) eleventh means for correcting the calculated basic target value of the engine output corelative value by aid tenth means according to at least one correction coefficient based on an engine operating variable to produce the target value.
 7. The engine control system according to claim 6, wherein said engine operating variable is an engine cooling water temperature.
 8. The engine control system according to claim 6, wherein the correction coefficient includes a correction coefficient based on a change rate of the angular displacement of said second means with respect to time.
 9. The engine control system according to claim 2, wherein said seventh means compares the target value of the maximum pressure in the engine cylinder calculated by said sixth means with the detected value of the maximum pressure in the engine cylinder by said third means to calculate a ratio of the target value of the maximum pressure to the detected maximum pressure and said eighth means calculates the present opening angle of said first means on the basis of the ratio calculated by said seventh means and the previous opening angle of said first means before a predetermined interval and calculates the opening angle of said first means to be actuated by said ninth means from a difference between the present opening angle and previous opening angle of said first means.
 10. The engine control system according to claim 5, which further comprises:(a) thirteenth means for detecting a crank angle position with respect to a top dead center in a compression stroke of the engine cylinder at which the pressure in the engine cylinder reaches maximum; (b) fourteen means for comparing the detected crank angle position by said thirteenth means with both limit values of a predetermined crank angle range which is predefined as a stable region within which the engine stably operates and outputting a first signal when the detected crank angle position is within the predetermined crank angle range and a second signal when the detected crank angle position is out of the predetermined crank angle range; and (c) fifteenth means for correcting the calculated fuel quantity supplied to the engine by said eleventh means on the basis of an air-fuel mixture ratio correction coefficient, said air-fuel mixture ratio correction coefficient being varied depending on whether said fourteenth means outputs the first signal or second signal, so that the crank angle position detected by said thirteenth means approaches to one of the limits values of the predetermined crank angle range at which the fuel consumption is seved at optimum.
 11. The engine control system according to claim 10, wherein the value of said air-fuel mixture ratio correction coefficient is reduced so that the air-fuel mixture becomes thin when said fourteenth means outputs the first signal and the value of said air-fuel mixture ratio correction coefficient is increased so that the air-fuel mixture ratio becomes rich when said fourteenth means outputs the second signal.
 12. The engine control system according to claim 10, wherein said air-fuel mixture ratio correction coefficient is zero when the engine has started, is in an idling state, in a armed-up state, and high load and high engine speed states wherein the engine output exceeding a predetermined engine output value requires.
 13. The engine control system according to claim 5, which further comprises:(a) thirteenth means for calculating an ignition timing angle value on the basis of the intake air quantity detected by tenth means and engine speed detected by said fifth means; (b) fourteenth means for detecting a crank angle position with respect to a top dead center in a compression stroke of the engine cylinder at which the pressure in the engine cylinder reaches maximum; (c) fifteenth means for correcting the ignition timing angle value calculated by said thirteenth means so that the detected crank angle position by said fourteenth means coincides with a target value of the crank angle position which gives an optimum ignition timing for best engine output torque; and (d) sixteenth means for igniting each spark plug located within the corresponding to the engine cylinder according to a predetermined ignition order at an ignition timing angle, the value of which is calculated and corrected by said thirteenth means and fifteenth means.
 14. The engine control system according to claim 13, wherein said fifteenth means corrects the ignition timing angle value calculated by said thirteenth means on the basis of a difference between a movable average value of each detected crank angle position by said fourteenth means for a predetermined number of times and the target value of the crank angle position.
 15. The engine control system according to claim 13, wherein said fifteenth means corrects the ignition timing angle value calculated by said thirteenth means on the basis of a correction coefficient according to an engine cooling water temperature when the engine cooling water temperature is below a predetermined value.
 16. The engine control system according to claim 1, wherein said third means detects an engine torque as the engine output corrective value.
 17. A method for controlling an engine, comprising the steps of:(a) detecting a value corelative to an engine output; (b) detecting an angular displacement of an accelerator means according to which an opening angle of a throttle valve means located within a throttle chamber is varied; (c) detecting an engine speed; (d) calculating a target value of the characteristic corelative to the engine output from the detected angular displacement in said step (b) and detected engine speed in said step (c); (e) comparing the calculated target value in said step (d) with the detected value corelative to the engine output in said step (a); (f) calculating the opening angle value of the throttle valve means through which the throttle valve means is displaced so as to adjust an intake air quantity supplied to the engine on the basis of a comparison result in said step (e); and (g) actuating the throttle valve means to adjust the opening angle of the throttle valve means according to the calculated opening angle of the throttle valve means in said step (f) so that the detected value correlative to the engine output in said step (a) coincides with the target value calculated in said step (f).
 18. The engine control method according to claim 17, which further comprises the steps of:(h) detecting an intake air quantity supplied to the engine, the intake air quantity being adjusted in said step (g); (i) calculating a fuel supply quantity to the engine on the basis of the intake air quantity detected in said step (h) and engine speed detected in said step (c); and (j) supplying fuel to the engine, the quantity of which is calculated in said step (i).
 19. The engine control method according to claim 18, wherein said step (a) detects a maximum pressure in an engine cylinder and which further comprises the steps of:(k) calculating an ignition timing angle value on the basis of the intake air quantity detected in said step (h) and engine speed detected in said step (c); (l) correcting the calculated ignition timing angle value in said step (k) so that a crank angle position at which the maximum pressure in the engine cylinder is detected in said step (a) coincides with a target value of the crank angle position at which the fuel consumption is saved at optimum; and (m) igniting each spark plug located within the corresponding engine cylinder according to a predetermined ignition order at an ignition timing calculated in said step (k) and corrected in said step (l).
 20. The engine control method according to claim 18, which further comprises the steps of:(k) setting an engine stable region within which the engine operates stably; (l) comparing a limit value of the engine stable region with the detected value corelative to the engine output; and (m) correcting a fuel mixture ratio of the engine on the basis of a comparison result of said step (l). 